iT邦幫忙

2022 iThome 鐵人賽

DAY 9
0
Modern Web

[學習筆記] 邊學邊寫 JavaScript 30天系列 第 9

[學習筆記] 邊學邊寫 JavaScript 30天 (9):常用的內建函式

  • 分享至 

  • xImage
  •  

今天內容

  • Number 類型的內建函式
  • String 類型的內建函式
  • Array 類型的內建函式

筆記

  • Number 類型的內建函式

    // parseInt(string, radix) -> radix,轉成幾進位(可省略)
    var a = 0
    var b = "20"
    console.log(a + b)   //020
    console.log(a + parseInt(b,10)) //20 將字串轉成數字
    
    // parseFloat() -> 帶有小數的字串轉為數字
    var c = "20.55"
    console.log(parseFloat(c) , typeof parseFloat(c)) //20.55 number
    
    // parseFloat().toFixed()   -> toFixed指定保留幾位小數,並四捨五入。
    var d = "11.456"
    console.log(parseFloat(d).toFixed(2)) //11.46
    

    需注意計算數字不要超出最小值Number.MIN_VALUE與最大值Number.MAX_VALUE,會造成儲存不精準。
    Math:跟數學有關的內建函式,常數會用大寫來表示,例如:PI。

    console.log(Math.PI)   //3.141592653589793
    console.log(Math.ceil(20.111))   //21 -> 無條件進位
    console.log(Math.floor(20.111))  //20 -> 無條件捨去
    console.log(Math.round(20.654))  //21 -> 四捨五入
    console.log(Math.sqrt(25))   //5 -> 開根號
    console.log(Math.pow(2,10))   //1024 -> 取次方,2的10次方。
    
    //random():隨機產出0~0.9999999...的小數(包含0不會有1)。範圍要自己推~
    console.log(Math.random()*10)     //0~0.9999...
    console.log(Math.floor(Math.random()*10)) //結合Math.floor捨去小數,可以得到0~9的隨機數。
    
    //把數字變成字串的用法:
    var e = 5
    console.log(e.toString(),typeof e.toString())   //第一種方法:toString()
    var f = 6
    console.log(f + "" ,typeof (f + ""))     //第二種方法:加上空字串
    
  • String 類型的內建函式

    //轉換大小寫
    var a = "LOREM IPSUM DOLOR SIT".toLowerCase()
    var b = "amet consectetur pisicing".toUpperCase()
    console.log(a)
    console.log(b)
    
    //每個字都有相對應的字碼(ASCII)
    var c = "ABCD".charCodeAt(3)  //68
    console.log(c)
    
    var d = String.fromCharCode(65)  //A
    console.log(d)
    
    var e = "lorem ipsum dolor sit"
    var f = e.indexOf("ipsum")
    console.log(f)     //6 有出現該字會回傳第一位位置
    var g = e.indexOf("ipsum!!!")
    console.log(g)     //-1  沒有該字會回傳負數
    
    var h = "lorem ipsum dolor sit lorem".replace("lorem" , "AAA")
    console.log(h)     //AAA ipsum dolor sit lorem 取代掉原本的字,但只會換掉第一個
    
    var i = "lorem,ipsum,dolor,sit,ipsum,dolor,sit".split(",")
    console.log(i)   //以,切分,把字串轉成陣列比較好處理字串。
    
    var j = "   lorem ipsum  ".trim()
    console.log(j)   //lorem ipsum  -> 把前後空格給去掉
    
  • Array 類型的內建函式

    //join
    var a = ["aaa","bbb","ccc"]
    console.log(a.join("")) //aaabbbccc -> 把陣列轉成字串輸出,可指定連接符號
    
    //map filter
    var b = [2,1,4,-3,6,8,-1]
    console.log(
        b
        .map (function(x){
            return x*2
        })
        .filter (function(x){
            return x>0
        })
    )
    
    //slice  splice
    var c = ["a","b","c","d","e"]
    console.log(c.slice(2,4))  //['c', 'd'] -> 從第2切到第4個(4不要)
    console.log(c)   //slice不會改到原本的陣列
    
    //splice 可插入與刪除,會改變原本的陣列(不同於slice僅回傳一個新的陣列)
    var d = ["a","b","c"]
    d.splice(1,0,"zzz")   //在[1]位置前插入一個"zzz"
    console.log(d)   //splice會改變到原本的陣列
    
    
    //sort
    var e = ["cat","apple","dog","banana","egg"]
    e.sort()
    console.log(e)  //按字母排序
    var f = [13,40,3,6,84,2]
    f.sort()
    console.log(f)  //按字串排序,不會按大小
    

今天這篇有點不知道要怎麼寫,就算加了點自己實作的內容看去來還是像滿滿"招式表"感覺 (直接看MDN還比較快) ,但不筆記又好像沒學到東西,所以還是跟著影片去實作常用的。至少在以後忘記某個用法時能有相關的關鍵字能查得到。
內容有部分也是偏難,例如:sort按照數字大小排列,雖然影片有講解,但其實沒有很懂1和-1。可能還要再多研究其他東西才能懂,就沒有放在筆記了。


參考資料


上一篇
[學習筆記] 邊學邊寫 JavaScript 30天 (8):函式
下一篇
[學習筆記] 邊學邊寫 JavaScript 30天 (10):新手最會出錯的地方
系列文
[學習筆記] 邊學邊寫 JavaScript 30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言